package com.haiqiu.tools.test.entity;

import com.haiqiu.tools.common.utils.DateUtils;
import com.haiqiu.tools.excel.annotation.Csv;
import com.haiqiu.tools.excel.annotation.Excel;

import java.util.Date;

/**
 * @author haiqiu
 * @since  2022/6/28
 */

public class SysUser extends Base {
    /**
     * ID
     */
    private Long id;

    /**
     * 用户名
     */
    @Excel(name = "用户名")
    @Csv(name = "用户名")
    private String username;

    /**
     * 密码
     */
    @Excel(name = "密码")
    @Csv(name = "密码")
    private String password;

    /**
     * 昵称
     */
    @Excel(name = "昵称")
    @Csv(name = "昵称")
    private String nickname;

    /**
     * 头像
     */
    private String avatar;

    /**
     * 邮箱
     */
    @Excel(name = "邮箱")
    @Csv(name = "邮箱")
    private String email;

    /**
     * 手机
     */
    @Excel(name = "手机")
    @Csv(name = "手机")
    private String phone;

    /**
     * QQ
     */
    @Excel(name = "QQ")
    @Csv(name = "QQ")
    private String qq;

    /**
     * 微信
     */
    @Excel(name = "微信")
    @Csv(name = "微信")
    private String wechat;

    /**
     * 性别：0未知，1男，2女
     */
    @Excel(name = "性别", replace = {"0_未知", "1_男", "2_女"})
    @Csv(name = "性别", replace = {"0_未知", "1_男", "2_女"})
    private Integer sex;

    /**
     * 状态：true激活，false禁用
     */
    @Excel(name = "状态", replace = {"true_激活", "false_禁用"}, isMark = true)
    @Csv(name = "状态", replace = {"true_激活", "false_禁用"})
    private Boolean active;

    /**
     * 创建时间
     */
    @Excel(name = "创建时间", dateFormat = DateUtils.YMDHMMMSS)
    @Csv(name = "创建时间", dateFormat = DateUtils.YMDHMMMSS)
    private Date createTime;

    /**
     * 创建用户
     */
    private String createUser;

    /**
     * 创建用户ID
     */
    private Long createBy;

    /**
     * 修改时间
     */
    @Excel(name = "修改时间", dateFormat = DateUtils.YMDHMMMSS)
    @Csv(name = "修改时间", dateFormat = DateUtils.YMDHMMMSS)
    private Date updateTime;

    /**
     * 修改用户
     */
    private String updateUser;

    /**
     * 修改用户ID
     */
    private Long updateBy;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getNickname() {
        return nickname;
    }

    public void setNickname(String nickname) {
        this.nickname = nickname;
    }

    public String getAvatar() {
        return avatar;
    }

    public void setAvatar(String avatar) {
        this.avatar = avatar;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public String getQq() {
        return qq;
    }

    public void setQq(String qq) {
        this.qq = qq;
    }

    public String getWechat() {
        return wechat;
    }

    public void setWechat(String wechat) {
        this.wechat = wechat;
    }

    public Integer getSex() {
        return sex;
    }

    public void setSex(Integer sex) {
        this.sex = sex;
    }

    public Boolean getActive() {
        return active;
    }

    public void setActive(Boolean active) {
        this.active = active;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public String getCreateUser() {
        return createUser;
    }

    public void setCreateUser(String createUser) {
        this.createUser = createUser;
    }

    public Long getCreateBy() {
        return createBy;
    }

    public void setCreateBy(Long createBy) {
        this.createBy = createBy;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public String getUpdateUser() {
        return updateUser;
    }

    public void setUpdateUser(String updateUser) {
        this.updateUser = updateUser;
    }

    public Long getUpdateBy() {
        return updateBy;
    }

    public void setUpdateBy(Long updateBy) {
        this.updateBy = updateBy;
    }
}
